package com.wpen.unit.enums;

import java.util.LinkedHashMap;
import java.util.Map;

/**
 * 启动运行模式
 * 
 * @author Wang Peng
 * @date 2022-12-01
 */
public enum AppRunMode {
    // N-常规应用，T-多线程应用
    /**/
    Bean("1", "手工启动jar"),
    /**/
    Shell("2", "shell脚本启动方式"),
    
    ;

    // 成员变量
    private String value; // value
    private String desc; // 描述

    // 构造方法
    private AppRunMode(String val, String desc) {
        this.value = val;
        this.desc = desc;
    }

    public static Map<String, String> getMap() {
        AppRunMode[] loops = AppRunMode.values();
        Map<String, String> map = new LinkedHashMap<String, String>();
        for (AppRunMode loop : loops) {
            map.put(loop.desc(), loop.value());
        }
        return map;
    }

    /**
     * 通过value获取对象
     */
    public static AppRunMode getType(String val) {
        for (AppRunMode c : AppRunMode.values()) {
            if (c.value().equals(val)) {
                return c;
            }
        }
        return null;
    }

    public String value() {
        return value;
    }

    public String desc() {
        return desc;
    }

}
